      SUBROUTINE BLKCPYR(MATFRM,NROWFRM,NCOLFRM,MATTAR,NROWTAR,NCOLTAR,
     &                  IROWTAR,ICOLTAR)
C
C THIS ROUTINE COPIES AN NROWFRM BY NCOLFRM BLOCK MATRIX (MATFRM)
C  INTO AN NROWTAR BY NCOLTAR TARGET MATRIX (MATTAR) SUCH THAT 
C  THE (1,1) ELEMENT IN MATFRM BECOMES THE IROWTAR,ICOLTAR ELEMENT 
C  IN MATTAR.
C
CEND
      IMPLICIT NONE 
      integer, intent(in):: NROWFRM, NCOLFRM 
      integer, intent(in):: NROWTAR,NCOLTAR,IROWTAR,ICOLTAR 
      real*4, intent(inout) :: MATTAR(NROWTAR*NCOLTAR)
      real*4, intent(inout) :: MATFRM(NROWFRM,NCOLFRM)
C
      integer i, j, istart, ICOL
       
C
C      INDX(I,J)=I+(J-1)*NROWTAR
C      ISTART=INDX(IROWTAR,ICOLTAR)
      ISTART = IROWTAR + (ICOLTAR-1)*NROWTAR
      DO 10 ICOL=1,NCOLFRM
       CALL  SCOPY(NROWFRM,MATFRM(1,ICOL),1,MATTAR(ISTART),1)
       ISTART=ISTART+NROWTAR
10    CONTINUE
      RETURN
      END
